﻿Imports System.Data.Common
Imports ConexionBD

Public Class Empresa
    Public CLASE_REGIMEN, NIT, RAZON_SOCIAL, REP_LEGAL, DIRECCION _
      , TELEFONO, TELEFONO1, LOGO As String
    Public ID_EMPRESA, ID_MUNICIPIO As Integer
    Public DIG_VER, ESTADO As Char

    Public Shared Function Nuevo(emp As Empresa) As Resultado
        Dim conexion As New ConexionBD.ConexionBD()
        Dim oResultado As New Resultado
        oResultado.ExisteError = conexion.Conectar()
        If oResultado.ExisteError Then
            Dim sentencia As String
            sentencia = "INSERT INTO EMPRESA(CLASE_REGIMEN,ID_MUNICIPIO,NIT," + _
                "DIG_VER,RAZON_SOCIAL,REP_LEGAL,DIRECCION,TELEFONO,TELEFONO1," + _
                "LOGO) VALUES (@CLASE_REGIMEN,@ID_MUNICIPIO,@NIT," + _
                "@DIG_VER,@RAZON_SOCIAL,@REP_LEGAL,@DIRECCION,@TELEFONO,@TELEFONO1," + _
                "@LOGO)"
            conexion.ParametroEntrada = New List(Of DbParameter)
            conexion.ParametroEntrada.Add(ConexionBD.ConexionBD.ParamInString(conexion, emp.CLASE_REGIMEN, "CLASE_REGIMEN"))
            conexion.ParametroEntrada.Add(ConexionBD.ConexionBD.ParamInString(conexion, emp.ID_MUNICIPIO, "ID_MUNICIPIO"))
            conexion.ParametroEntrada.Add(ConexionBD.ConexionBD.ParamInString(conexion, emp.NIT, "NIT"))
            conexion.ParametroEntrada.Add(ConexionBD.ConexionBD.ParamInString(conexion, emp.DIG_VER, "DIG_VER"))
            conexion.ParametroEntrada.Add(ConexionBD.ConexionBD.ParamInString(conexion, emp.RAZON_SOCIAL, "RAZON_SOCIAL"))
            conexion.ParametroEntrada.Add(ConexionBD.ConexionBD.ParamInString(conexion, emp.REP_LEGAL, "REP_LEGAL"))
            conexion.ParametroEntrada.Add(ConexionBD.ConexionBD.ParamInString(conexion, emp.DIRECCION, "DIRECCION"))
            conexion.ParametroEntrada.Add(ConexionBD.ConexionBD.ParamInString(conexion, emp.TELEFONO, "TELEFONO"))
            conexion.ParametroEntrada.Add(ConexionBD.ConexionBD.ParamInString(conexion, emp.TELEFONO1, "TELEFONO1"))
            conexion.ParametroEntrada.Add(ConexionBD.ConexionBD.ParamInString(conexion, emp.LOGO, "LOGO"))
            oResultado.ExisteError = conexion.EjecutarSql(sentencia)
            oResultado.FilasAfectadas = conexion.NumFilasAfectadas
            oResultado.Mensaje = conexion.mensaje
            conexion.Desconectar()
        End If
        Return oResultado
    End Function

    Public Shared Function Actualizar(emp As Empresa) As Resultado
        Dim conexion As New ConexionBD.ConexionBD()
        Dim oResultado As New Resultado
        oResultado.ExisteError = conexion.Conectar()
        If oResultado.ExisteError Then
            Dim sentencia As String
            sentencia = "UPDATE EMPRESA SET CLASE_REGIMEN=@CLASE_REGIMEN,ID_MUNICIPIO=@ID_MUNICIPIO,NIT=@NIT," + _
                "DIG_VER=@DIG_VER,RAZON_SOCIAL=@RAZON_SOCIAL,REP_LEGAL=@REP_LEGAL,DIRECCION=@DIRECCION,TELEFONO=@TELEFONO,TELEFONO1=@TELEFONO1," + _
                "LOGO=@LOGO WHERE ID_EMPRESA=@ID_EMPRESA"
            conexion.ParametroEntrada = New List(Of DbParameter)
            conexion.ParametroEntrada.Add(ConexionBD.ConexionBD.ParamInString(conexion, emp.CLASE_REGIMEN, "CLASE_REGIMEN"))
            conexion.ParametroEntrada.Add(ConexionBD.ConexionBD.ParamInString(conexion, emp.ID_MUNICIPIO, "ID_MUNICIPIO"))
            conexion.ParametroEntrada.Add(ConexionBD.ConexionBD.ParamInString(conexion, emp.NIT, "NIT"))
            conexion.ParametroEntrada.Add(ConexionBD.ConexionBD.ParamInString(conexion, emp.DIG_VER, "DIG_VER"))
            conexion.ParametroEntrada.Add(ConexionBD.ConexionBD.ParamInString(conexion, emp.RAZON_SOCIAL, "RAZON_SOCIAL"))
            conexion.ParametroEntrada.Add(ConexionBD.ConexionBD.ParamInString(conexion, emp.REP_LEGAL, "REP_LEGAL"))
            conexion.ParametroEntrada.Add(ConexionBD.ConexionBD.ParamInString(conexion, emp.DIRECCION, "DIRECCION"))
            conexion.ParametroEntrada.Add(ConexionBD.ConexionBD.ParamInString(conexion, emp.TELEFONO, "TELEFONO"))
            conexion.ParametroEntrada.Add(ConexionBD.ConexionBD.ParamInString(conexion, emp.TELEFONO1, "TELEFONO1"))
            conexion.ParametroEntrada.Add(ConexionBD.ConexionBD.ParamInString(conexion, emp.LOGO, "LOGO"))
            conexion.ParametroEntrada.Add(ConexionBD.ConexionBD.ParamInString(conexion, emp.ID_EMPRESA, "ID_EMPRESA"))
            oResultado.ExisteError = conexion.EjecutarSql(sentencia)
            oResultado.FilasAfectadas = conexion.NumFilasAfectadas
            oResultado.Mensaje = conexion.mensaje
            conexion.Desconectar()
        End If
        Return oResultado
    End Function

    Public Shared Function Eliminar(emp As Empresa) As Resultado
        Dim conexion As New ConexionBD.ConexionBD()
        Dim oResultado As New Resultado
        oResultado.ExisteError = conexion.Conectar()
        If oResultado.ExisteError Then
            Dim sentencia As String
            sentencia = "DELETE FROM EMPRESA WHERE ID_EMPRESA=@ID_EMPRESA"
            conexion.ParametroEntrada = New List(Of DbParameter)
            conexion.ParametroEntrada.Add(ConexionBD.ConexionBD.ParamInString(conexion, emp.ID_EMPRESA, "ID_EMPRESA"))
            oResultado.ExisteError = conexion.EjecutarSql(sentencia)
            oResultado.FilasAfectadas = conexion.NumFilasAfectadas
            oResultado.Mensaje = conexion.mensaje
            conexion.Desconectar()
        End If
        Return oResultado
    End Function

    Public Shared Function ConsxPrimEmp() As DataTable
        Dim conexion As New ConexionBD.ConexionBD()
        Dim dtConsulta As New DataTable
        If conexion.Conectar() Then
            Dim sentencia As String
            sentencia = "SELECT TOP 1 ID_EMPRESA,CLASE_REGIMEN,ID_MUNICIPIO,NIT,DIG_VER,RAZON_SOCIAL,REP_LEGAL,DIRECCION," + _
                        "TELEFONO,TELEFONO1,ESTADO,LOGO FROM EMPRESA"
            dtConsulta = conexion.Consulta(sentencia)
            conexion.Desconectar()
        End If
        Return dtConsulta
    End Function

End Class
